package cn.ctodb.mall.goods.service.dto;


import java.time.ZonedDateTime;
import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;
import java.util.Objects;
import javax.persistence.Lob;
import cn.ctodb.mall.goods.domain.enumeration.IsCheck;
import cn.ctodb.mall.goods.domain.enumeration.IsCheck;
import cn.ctodb.mall.goods.domain.enumeration.IsCheck;
import cn.ctodb.mall.goods.domain.enumeration.IsCheck;
import cn.ctodb.mall.goods.domain.enumeration.IsCheck;
import cn.ctodb.mall.goods.domain.enumeration.IsCheck;
import cn.ctodb.mall.goods.domain.enumeration.IsCheck;
import cn.ctodb.mall.goods.domain.enumeration.IsCheck;
import cn.ctodb.mall.goods.domain.enumeration.IsCheck;
import cn.ctodb.mall.goods.domain.enumeration.IsCheck;

/**
 * A DTO for the Goods entity.
 */
public class GoodsDTO implements Serializable {

    private Long id;

    private String goodsSn;

    private String goodsName;

    private String goodsNameStyle;

    private Integer clickCount;

    private String providerName;

    private Integer goodsNumber;

    private Double goodsWeight;

    private Double marketPrice;

    private Double shopPrice;

    private Double promotePrice;

    private ZonedDateTime promoteStartDate;

    private ZonedDateTime promoteEndDate;

    private Integer warnNumber;

    private String keywords;

    private String goodsBrief;

    @Lob
    private String goodsDesc;

    private String goodsThumb;

    private String goodsImg;

    private String originalImg;

    private IsCheck isReal;

    private String extensionCode;

    private IsCheck isOnSale;

    private IsCheck isAloneSale;

    private IsCheck isShipping;

    private Integer integral;

    private ZonedDateTime addTime;

    private Integer sortOrder;

    private IsCheck isDelete;

    private IsCheck isBest;

    private IsCheck isNew;

    private IsCheck isHot;

    private IsCheck isPromote;

    private ZonedDateTime lastUpdate;

    private String sellerNote;

    private Integer giveIntegral;

    private Integer rankIntegral;

    private IsCheck isCheck;

    private Long categoryId;

    private Long brandId;

    private Long goodsTypeId;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }
    public String getGoodsSn() {
        return goodsSn;
    }

    public void setGoodsSn(String goodsSn) {
        this.goodsSn = goodsSn;
    }
    public String getGoodsName() {
        return goodsName;
    }

    public void setGoodsName(String goodsName) {
        this.goodsName = goodsName;
    }
    public String getGoodsNameStyle() {
        return goodsNameStyle;
    }

    public void setGoodsNameStyle(String goodsNameStyle) {
        this.goodsNameStyle = goodsNameStyle;
    }
    public Integer getClickCount() {
        return clickCount;
    }

    public void setClickCount(Integer clickCount) {
        this.clickCount = clickCount;
    }
    public String getProviderName() {
        return providerName;
    }

    public void setProviderName(String providerName) {
        this.providerName = providerName;
    }
    public Integer getGoodsNumber() {
        return goodsNumber;
    }

    public void setGoodsNumber(Integer goodsNumber) {
        this.goodsNumber = goodsNumber;
    }
    public Double getGoodsWeight() {
        return goodsWeight;
    }

    public void setGoodsWeight(Double goodsWeight) {
        this.goodsWeight = goodsWeight;
    }
    public Double getMarketPrice() {
        return marketPrice;
    }

    public void setMarketPrice(Double marketPrice) {
        this.marketPrice = marketPrice;
    }
    public Double getShopPrice() {
        return shopPrice;
    }

    public void setShopPrice(Double shopPrice) {
        this.shopPrice = shopPrice;
    }
    public Double getPromotePrice() {
        return promotePrice;
    }

    public void setPromotePrice(Double promotePrice) {
        this.promotePrice = promotePrice;
    }
    public ZonedDateTime getPromoteStartDate() {
        return promoteStartDate;
    }

    public void setPromoteStartDate(ZonedDateTime promoteStartDate) {
        this.promoteStartDate = promoteStartDate;
    }
    public ZonedDateTime getPromoteEndDate() {
        return promoteEndDate;
    }

    public void setPromoteEndDate(ZonedDateTime promoteEndDate) {
        this.promoteEndDate = promoteEndDate;
    }
    public Integer getWarnNumber() {
        return warnNumber;
    }

    public void setWarnNumber(Integer warnNumber) {
        this.warnNumber = warnNumber;
    }
    public String getKeywords() {
        return keywords;
    }

    public void setKeywords(String keywords) {
        this.keywords = keywords;
    }
    public String getGoodsBrief() {
        return goodsBrief;
    }

    public void setGoodsBrief(String goodsBrief) {
        this.goodsBrief = goodsBrief;
    }
    public String getGoodsDesc() {
        return goodsDesc;
    }

    public void setGoodsDesc(String goodsDesc) {
        this.goodsDesc = goodsDesc;
    }
    public String getGoodsThumb() {
        return goodsThumb;
    }

    public void setGoodsThumb(String goodsThumb) {
        this.goodsThumb = goodsThumb;
    }
    public String getGoodsImg() {
        return goodsImg;
    }

    public void setGoodsImg(String goodsImg) {
        this.goodsImg = goodsImg;
    }
    public String getOriginalImg() {
        return originalImg;
    }

    public void setOriginalImg(String originalImg) {
        this.originalImg = originalImg;
    }
    public IsCheck getIsReal() {
        return isReal;
    }

    public void setIsReal(IsCheck isReal) {
        this.isReal = isReal;
    }
    public String getExtensionCode() {
        return extensionCode;
    }

    public void setExtensionCode(String extensionCode) {
        this.extensionCode = extensionCode;
    }
    public IsCheck getIsOnSale() {
        return isOnSale;
    }

    public void setIsOnSale(IsCheck isOnSale) {
        this.isOnSale = isOnSale;
    }
    public IsCheck getIsAloneSale() {
        return isAloneSale;
    }

    public void setIsAloneSale(IsCheck isAloneSale) {
        this.isAloneSale = isAloneSale;
    }
    public IsCheck getIsShipping() {
        return isShipping;
    }

    public void setIsShipping(IsCheck isShipping) {
        this.isShipping = isShipping;
    }
    public Integer getIntegral() {
        return integral;
    }

    public void setIntegral(Integer integral) {
        this.integral = integral;
    }
    public ZonedDateTime getAddTime() {
        return addTime;
    }

    public void setAddTime(ZonedDateTime addTime) {
        this.addTime = addTime;
    }
    public Integer getSortOrder() {
        return sortOrder;
    }

    public void setSortOrder(Integer sortOrder) {
        this.sortOrder = sortOrder;
    }
    public IsCheck getIsDelete() {
        return isDelete;
    }

    public void setIsDelete(IsCheck isDelete) {
        this.isDelete = isDelete;
    }
    public IsCheck getIsBest() {
        return isBest;
    }

    public void setIsBest(IsCheck isBest) {
        this.isBest = isBest;
    }
    public IsCheck getIsNew() {
        return isNew;
    }

    public void setIsNew(IsCheck isNew) {
        this.isNew = isNew;
    }
    public IsCheck getIsHot() {
        return isHot;
    }

    public void setIsHot(IsCheck isHot) {
        this.isHot = isHot;
    }
    public IsCheck getIsPromote() {
        return isPromote;
    }

    public void setIsPromote(IsCheck isPromote) {
        this.isPromote = isPromote;
    }
    public ZonedDateTime getLastUpdate() {
        return lastUpdate;
    }

    public void setLastUpdate(ZonedDateTime lastUpdate) {
        this.lastUpdate = lastUpdate;
    }
    public String getSellerNote() {
        return sellerNote;
    }

    public void setSellerNote(String sellerNote) {
        this.sellerNote = sellerNote;
    }
    public Integer getGiveIntegral() {
        return giveIntegral;
    }

    public void setGiveIntegral(Integer giveIntegral) {
        this.giveIntegral = giveIntegral;
    }
    public Integer getRankIntegral() {
        return rankIntegral;
    }

    public void setRankIntegral(Integer rankIntegral) {
        this.rankIntegral = rankIntegral;
    }
    public IsCheck getIsCheck() {
        return isCheck;
    }

    public void setIsCheck(IsCheck isCheck) {
        this.isCheck = isCheck;
    }

    public Long getCategoryId() {
        return categoryId;
    }

    public void setCategoryId(Long categoryId) {
        this.categoryId = categoryId;
    }

    public Long getBrandId() {
        return brandId;
    }

    public void setBrandId(Long brandId) {
        this.brandId = brandId;
    }

    public Long getGoodsTypeId() {
        return goodsTypeId;
    }

    public void setGoodsTypeId(Long goodsTypeId) {
        this.goodsTypeId = goodsTypeId;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }

        GoodsDTO goodsDTO = (GoodsDTO) o;

        if ( ! Objects.equals(id, goodsDTO.id)) { return false; }

        return true;
    }

    @Override
    public int hashCode() {
        return Objects.hashCode(id);
    }

    @Override
    public String toString() {
        return "GoodsDTO{" +
            "id=" + id +
            ", goodsSn='" + goodsSn + "'" +
            ", goodsName='" + goodsName + "'" +
            ", goodsNameStyle='" + goodsNameStyle + "'" +
            ", clickCount='" + clickCount + "'" +
            ", providerName='" + providerName + "'" +
            ", goodsNumber='" + goodsNumber + "'" +
            ", goodsWeight='" + goodsWeight + "'" +
            ", marketPrice='" + marketPrice + "'" +
            ", shopPrice='" + shopPrice + "'" +
            ", promotePrice='" + promotePrice + "'" +
            ", promoteStartDate='" + promoteStartDate + "'" +
            ", promoteEndDate='" + promoteEndDate + "'" +
            ", warnNumber='" + warnNumber + "'" +
            ", keywords='" + keywords + "'" +
            ", goodsBrief='" + goodsBrief + "'" +
            ", goodsDesc='" + goodsDesc + "'" +
            ", goodsThumb='" + goodsThumb + "'" +
            ", goodsImg='" + goodsImg + "'" +
            ", originalImg='" + originalImg + "'" +
            ", isReal='" + isReal + "'" +
            ", extensionCode='" + extensionCode + "'" +
            ", isOnSale='" + isOnSale + "'" +
            ", isAloneSale='" + isAloneSale + "'" +
            ", isShipping='" + isShipping + "'" +
            ", integral='" + integral + "'" +
            ", addTime='" + addTime + "'" +
            ", sortOrder='" + sortOrder + "'" +
            ", isDelete='" + isDelete + "'" +
            ", isBest='" + isBest + "'" +
            ", isNew='" + isNew + "'" +
            ", isHot='" + isHot + "'" +
            ", isPromote='" + isPromote + "'" +
            ", lastUpdate='" + lastUpdate + "'" +
            ", sellerNote='" + sellerNote + "'" +
            ", giveIntegral='" + giveIntegral + "'" +
            ", rankIntegral='" + rankIntegral + "'" +
            ", isCheck='" + isCheck + "'" +
            '}';
    }
}
